home *** CD-ROM | disk | FTP | other *** search
/ One Stop CD-SHOP - The 50 Pack / One Stop CD-Shop - The 50 Pack (1995)(SoftKey)[compilation].iso / programs / calendar / setup / disk1 / setupcc.mst < prev    next >
Text File  |  1994-01-27  |  32KB  |  830 lines

  1. '' setupcc.mst -- MS Setup script to install Calendar Creator Windows,
  2. ''                ** Instant Calendar version **
  3. ''  rev date:   
  4. ''  12/07/93  df  change all "Easy Working" to "Instant"; comment-out
  5. ''                ini entries for DS printing; add this header
  6. ''  12/15/93  df  remove filter_ver check; change check stock0 to stock1
  7.  
  8. '$INCLUDE 'setupapi.inc'
  9. '$INCLUDE 'msdetect.inc'
  10.  
  11. CONST WELCOME=100
  12. CONST ASKQUITD=200
  13. CONST PROG_PATH=300
  14. CONST ART_PATH=350
  15. CONST FILTERS_PATH=375
  16. CONST EXITFAILURE=400
  17. CONST EXITQUIT=600
  18. CONST EXITSUCCESS=700
  19. CONST CUSTINST=6200
  20. CONST TOOBIG=6300
  21. CONST BADPATH=6400
  22. CONST INI_ENTRIES=6505
  23. CONST WARN_WIN30=6509
  24. CONST WARN_OTHER_FM=6510
  25. CONST GETINFO=7500
  26. CONST STATUS=1
  27. CONST SECTION=3
  28.  
  29. GLOBAL DEST$
  30. GLOBAL DEST_ART$
  31. GLOBAL DEST_FILTERS$
  32. GLOBAL WINDRIVE$
  33. GLOBAL PROGDRIVE$
  34. GLOBAL ARTDRIVE$
  35. GLOBAL FILTERSDRIVE$
  36. GLOBAL WORKING_DEST$
  37. GLOBAL EXE_PATH$
  38. GLOBAL NAME_STR$
  39. GLOBAL ORG_STR$
  40. GLOBAL PROG_COST$
  41. GLOBAL FILTERS_COST$
  42. GLOBAL SEL_COST$
  43. GLOBAL ART_COST$
  44. GLOBAL nWinDrive%
  45. GLOBAL PREV_INSTALL$
  46. GLOBAL CUIDLL$
  47. GLOBAL CURRENT_DLG$
  48. GLOBAL STR_REQ$
  49. GLOBAL STR_AVAIL$
  50. GLOBAL DIALOG_LIST$
  51. GLOBAL CHK_PROG_FILES$
  52. GLOBAL CHK_CLIP_ART$
  53. GLOBAL STR_PROG_PATH$
  54. GLOBAL STR_CLIP_ART_PATH$
  55. GLOBAL STR_FILTERS_PATH$
  56. GLOBAL STR_REQ_PROG$
  57. GLOBAL STR_REQ_CLIP_ART$
  58. GLOBAL STR_REQ_FILTERS$
  59. GLOBAL STR_AVAIL_PROG$
  60. GLOBAL STR_AVAIL_ART$
  61. GLOBAL STR_AVAIL_FILTERS$
  62. GLOBAL STR_REQ_PROG2$
  63. GLOBAL STR_REQ_CLIP_ART2$
  64. GLOBAL DIA_ART$
  65. GLOBAL STR_REQ_ART_DLG$
  66. GLOBAL STR_AVAIL_ART_DLG$   
  67. GLOBAL STR_REQ_GEN$
  68. GLOBAL STR_AVAIL_GEN$
  69. GLOBAL EXTRACOSTS$
  70. GLOBAL COSTLIST$
  71. GLOBAL NEEDLIST$
  72. GLOBAL BIGLIST$
  73. GLOBAL ini$
  74. GLOBAL TotalSpcFree&
  75. GLOBAL OldCursor%
  76. GLOBAL FrameWindow%
  77. GLOBAL WinDir$
  78. GLOBAL WinSysDir$
  79. GLOBAL fc%
  80. GLOBAL _ON$
  81. GLOBAL _NO$
  82. GLOBAL _YES$
  83. GLOBAL _SETUP_TITLE$
  84. GLOBAL _CCW$
  85. GLOBAL _CCPO$
  86. GLOBAL _CPS$
  87. GLOBAL _GRAPH_INI$
  88.  
  89. DECLARE FUNCTION ReleaseCP LIB "mscuistf.dll" AS INTEGER
  90. DECLARE FUNCTION MakeKbString LIB "mscuistf.dll" (szStr$) AS INTEGER
  91. DECLARE SUB      HelpQuit LIB "mscuistf.dll" (hwnd%)
  92. DECLARE SUB      DeleteOldIcons LIB "mscuistf.dll"
  93. DECLARE FUNCTION MakeKb (szStr$) AS STRING
  94. DECLARE SUB      BuildCopyList
  95. DECLARE SUB      GetFileCosts
  96. DECLARE SUB      SetDriveStatus
  97. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  98. DECLARE FUNCTION GetTotalSpcFree AS LONG
  99. DECLARE SUB      OpenWaitMessage (Msg%)
  100. DECLARE SUB      CloseWaitMessage
  101. DECLARE SUB      InitDefaultPaths
  102. DECLARE SUB      InitMainDialogSymbols
  103. DECLARE SUB      InitArtDialogSymbols
  104. DECLARE SUB      ReInitArtDialogSymbols
  105. DECLARE SUB      DoIniStuff
  106. DECLARE SUB      CheckWin30
  107. DECLARE SUB      AskQuit
  108. DECLARE SUB      DoIconStuff
  109. DECLARE SUB      GetUserInfo
  110.  
  111. INIT:
  112. _ON$="ON"
  113. _NO$="NO"
  114. _YES$="YES"
  115. _SETUP_TITLE$="Instant Calendar Setup"
  116. _CCW$="Calendar Creator Windows"
  117. _CCPO$="Calendar Creator Print Options"
  118. _CPS$="Calendar Paper Stocks"
  119. _GRAPH_INI$="GRAPHICS FILTERS"
  120. CursorSave% = ShowWaitCursor ()
  121. fc% = 0
  122. WinDir$ = MakePath (MID$ (GetWindowsDir (), 1, LEN(GetWindowsDir ()) - 1), "")
  123. WinSysDir$ = MakePath (MID$ (GetWindowsSysDir (), 1, LEN(GetWindowsSysDir ()) - 1), "")
  124. FrameWindow% = HwndFrame ()
  125. SetSymbolValue "FrameWindow", STR$ (FrameWindow%)
  126. CUIDLL$ = "mscuistf.dll"
  127. CURRENT_DLG$ = "CurrentDlg"
  128. COSTLIST$ = "CostList"
  129. NEEDLIST$ = "NeedList"
  130. BIGLIST$ = "TooBig"
  131. EXTRACOSTS$ = "ExtraCosts"
  132. ORG_STR$ = "OrgOut"
  133. NAME_STR$ = "NameOut"
  134. RestoreCursor CursorSave%
  135. SetAbout "", ""
  136. SetTitle _SETUP_TITLE$
  137. SetBitmap CUIDLL$, 1
  138. CursorSave% = ShowWaitCursor ()
  139. '' 26 drives ( A-Z )
  140. FOR i% = 1 TO 26 STEP 1
  141.    AddListItem BIGLIST$, ""
  142.    NEXT i%
  143. FOR i% = 1 TO 26 STEP 1
  144.    AddListItem EXTRACOSTS$, "0"
  145.    NEXT i%
  146. szInf$ = GetSymbolValue("STF_SRCINFPATH")
  147. IF szInf$ = "" THEN
  148.   szInf$ = MakePath( GetSymbolValue("STF_CWDDIR"), "SETUPCC.INF" )
  149. ENDIF
  150. ReadInfFile szInf$
  151. RestoreCursor CursorSave%
  152. InitDefaultPaths
  153. InitMainDialogSymbols
  154. InitArtDialogSymbols
  155.  
  156. RE_INIT:
  157. CursorSave% = ShowWaitCursor ()
  158. InitDefaultPaths
  159. InitMainDialogSymbols
  160. ReInitArtDialogSymbols
  161. RestoreCursor CursorSave%
  162.  
  163. WELCOME:
  164. sz$ = UIStartDlg(CUIDLL$, WELCOME, "FWelcomeDlgProc", 0, "")
  165. IF sz$ = "COMPLETE" THEN
  166.   UIPop 1
  167.   BuildCopyList
  168.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  169.     GOSUB TOOBIG
  170.     GOTO REFRESH
  171.   ENDIF
  172.   GOTO INSTALL
  173. ELSEIF sz$ = "CUSTOM" THEN
  174.   UIPop 1
  175.   GOTO REFRESH
  176. ELSEIF sz$ = "REACTIVATE" THEN
  177.   GOTO WELCOME
  178. ELSE
  179.   AskQuit
  180.   GOTO WELCOME
  181. END IF
  182.  
  183. REFRESH:
  184. GetFileCosts
  185. SetDriveStatus
  186.  
  187. CUSTINST:
  188. sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", 0, "")
  189. IF sz$ = "INSTALL" THEN
  190.   ''Install only if it will fit.
  191.   BuildCopyList
  192.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  193.     GOSUB TOOBIG
  194.     GOTO CUSTINST
  195.   ENDIF
  196.   UIPop 1
  197.   GOTO INSTALL
  198. ELSEIF sz$ = "BTN_PROG_PATH" THEN
  199.   GOTO GETPATH
  200. ELSEIF sz$ = "BTN_ART_PATH" THEN
  201.   GOTO GETPATH_ART
  202. ELSEIF sz$ = "BTN_FILTERS_PATH" THEN
  203.   GOTO GETPATH_FILTERS
  204. ELSEIF sz$ = "UPDATE" THEN
  205.   SetDriveStatus
  206.   GOTO CUSTINST
  207. ELSEIF sz$ = "BTN_BACK" then
  208.   UIPop 1
  209.   goto RE_INIT
  210. ELSEIF sz$ = "REINIT" THEN
  211.   GOTO CUSTINST
  212. ELSEIF sz$ = "REACTIVATE" THEN
  213.   SetDriveStatus
  214.   GOTO CUSTINST
  215. ELSE
  216.   AskQuit
  217.   GOTO CUSTINST
  218. END IF
  219.  
  220. GETPATH:
  221. WORKING_DEST$ = DEST$
  222. iType% = PROG_PATH
  223. GOTO HANDLE_GETPATH
  224.  
  225. GETPATH_ART:
  226. WORKING_DEST$ = DEST_ART$
  227. iType% = ART_PATH
  228. GOTO HANDLE_GETPATH
  229.  
  230. GETPATH_FILTERS:
  231. WORKING_DEST$ = DEST_FILTERS$
  232. iType% = FILTERS_PATH
  233. GOTO HANDLE_GETPATH
  234.  
  235. HANDLE_GETPATH:
  236. SetSymbolValue "EditTextIn", WORKING_DEST$
  237. SetSymbolValue "EditFocus", "END"
  238. sz$ = UIStartDlg (CUIDLL$, iType%, "FEditDlgProc", 0, "")
  239. IF sz$ = "OK" THEN
  240.   olddest$ = WORKING_DEST$
  241.   WORKING_DEST$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  242.   ''Validate new path.
  243.   IF (IsDirWritable (WORKING_DEST$) = 0) OR (INSTR(1, WORKING_DEST$, ".") <> 0) THEN
  244.     GOSUB BADPATH
  245.     WORKING_DEST$ = olddest$
  246.     GOTO HANDLE_GETPATH
  247.   END IF
  248.   UIPop 1
  249.   IF iType% = PROG_PATH THEN
  250.     DEST$ = LCASE$(WORKING_DEST$)
  251.     SetSymbolValue EXE_PATH$, DEST$
  252.     SetSymbolValue STR_PROG_PATH$, DEST$
  253.     PROGDRIVE$ = MID$ (DEST$, 1, 1)
  254.   ELSEIF iType% = ART_PATH THEN
  255.     DEST_ART$ = LCASE$( WORKING_DEST$ )
  256.     SetSymbolValue STR_CLIP_ART_PATH$, DEST_ART$
  257.     ARTDRIVE$  = MID$ (DEST_ART$, 1, 1)
  258.   ELSEIF iType% = FILTERS_PATH THEN
  259.     DEST_FILTERS$ = LCASE$( WORKING_DEST$ )
  260.     SetSymbolValue STR_FILTERS_PATH$, DEST_FILTERS$
  261.     FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  262.   ENDIF
  263.   '' Recalc if path changed.
  264.   IF (olddest$ <> WORKING_DEST$) AND (olddest$ <> WORKING_DEST$+"\") AND (olddest$+"\" <> WORKING_DEST$) THEN
  265.     SetDriveStatus
  266.   END IF
  267.   olddest$ = ""
  268.   GOTO CUSTINST
  269. ELSEIF sz$ = "REACTIVATE" THEN
  270.   SetDriveStatus
  271.   GOTO HANDLE_GETPATH
  272. ELSEIF sz$ = "EXIT" THEN
  273.   AskQuit
  274.   GOTO HANDLE_GETPATH
  275. ELSE
  276.   UIPop 1
  277.   olddest$ = ""
  278.   GOTO CUSTINST
  279. END IF
  280.  
  281. TOOBIG:
  282. sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo1DlgProc", 0, "")
  283. IF sz$ = "REACTIVATE" THEN
  284.   SetDriveStatus
  285.   GOTO TOOBIG
  286. END IF
  287. UIPop 1
  288. RETURN
  289.  
  290. BADPATH:
  291. sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  292. IF sz$ = "REACTIVATE" THEN
  293.   GOTO BADPATH
  294. END IF
  295. UIPop 1
  296. RETURN
  297.  
  298. SUB AskQuit STATIC
  299. ASKLOOP:
  300. sz$ = UIStartDlg(CUIDLL$, ASKQUITD, "FQuitDlgProc", 0, "")
  301. IF sz$ = "OK" THEN
  302.   UIPop 1
  303. ELSEIF sz$ = "REACTIVATE" THEN
  304.   GOTO ASKLOOP
  305. ELSE
  306.   UIPopAll
  307.   HelpQuit (FrameWindow%)
  308.   szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  309.   RemoveFile szDelFile$, cmoNone
  310.   i% = ReleaseCP
  311.   END
  312. END IF
  313. END SUB
  314.  
  315. SUB BuildCopyList STATIC
  316. CursorSave% = ShowWaitCursor()
  317. ClearCopyList
  318. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  319. '' Get the installation drives.
  320. PROGDRIVE$ = MID$ (DEST$, 1, 1)
  321. ARTDRIVE$ = MID$ (DEST_ART$, 1, 1)
  322. FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  323. '' Convert the drive letters into integers
  324. nProgDrive% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1
  325. nArtDrive% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1
  326. nFiltersDrive% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1
  327. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  328.   AddSectionFilesToCopyList "appFiles", SrcDir$, DEST$
  329.   AddSectionFilesToCopyList "fltFiles", SrcDir$, DEST_FILTERS$
  330.   AddSectionFilesToCopyList "ccstyleFile", SrcDir$, WinDir$
  331.   AddSectionFilesToCopyList "sel", SrcDir$, DEST$
  332.   szCommDlgFile$ = MakePath(WinSysDir$, "COMMDLG.DLL")
  333.   if IsDirWritable(WinSysDir$) = 1  then
  334.     AddSectionFilesToCopyList "commDlg", SrcDir$, WinSysDir$
  335.     AddSectionFilesToCopyList "ver", SrcDir$, WinSysDir$
  336.   endif
  337.   szCommDlgFile$ = MakePath(WinDir$, "COMMDLG.DLL")
  338.   if (DoesFileExist(szCommDlgFile$, femExists) = 1) and (IsDirWritable(WinDir$) = 1) then
  339.     AddSectionFilesToCopyList "commDlg", SrcDir$, WinDir$
  340.   endif
  341. endif
  342. IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  343.   AddSectionFilesToCopyList "artHolidays", SrcDir$, DEST_ART$
  344. ENDIF
  345. '' CALCULATE THE DISK COSTS
  346. StillNeed& = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  347. RestoreCursor CursorSave%
  348. SetSymbolValue "DRIVE_ERROR", "@"
  349. IF StillNeed& > 0 THEN
  350.   ReplaceListItem BIGLIST$, 1, _YES$
  351.   FOR i% = 1 to 26 STEP 1
  352.      if VAL (GetListItem (NEEDLIST$, i%)) > 0 then
  353.        SetSymbolValue "DRIVE_ERROR", CHR$ (ASC("A") - 1 + i%) + ":"
  354.        goto ESCAPE
  355.      endif
  356.      NEXT i%
  357. ESCAPE:
  358. ELSE
  359.   ReplaceListItem BIGLIST$, 1, _NO$
  360. ENDIF
  361. END SUB
  362.  
  363. SUB SetDriveStatus STATIC
  364. CursorSave% = ShowWaitCursor()
  365. '' Convert the drive letters into integers
  366. nProgDrive% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1
  367. nArtDrive% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1
  368. nFiltersDrive% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1
  369. '' Update the screen for when all of the drives are the same
  370. '' Hide the ART and FILTERS status string windows
  371. IF (nProgDrive% = nArtDrive%) AND (nProgDrive% = nFiltersDrive%) THEN
  372.   SetSymbolValue STR_REQ_CLIP_ART$, ""
  373.   SetSymbolValue STR_REQ_FILTERS$,  ""
  374.   SetSymbolValue STR_AVAIL_ART$,    ""
  375.   SetSymbolValue STR_AVAIL_FILTERS$,""
  376.   '' Update the Program Space Required string
  377.   cost& = 0
  378.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  379.     cost& = cost& + VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$)
  380.   ENDIF
  381.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  382.     cost& = cost& + VAL (ART_COST$)
  383.   ENDIF
  384.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (cost&)) + " Kb"
  385.   SetSymbolValue STR_REQ_PROG$, szTemp$
  386.   SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  387.   '' Update the Space Available (program) string
  388.   free& = GetFreeSpaceForDrive (PROGDRIVE$)
  389.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (free&)) + " Kb"
  390.   SetSymbolValue STR_AVAIL_PROG$, szTemp$
  391.   SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  392.   '' Hide the ART status info
  393. ELSEIF ((nProgDrive% = nArtDrive%) AND (nArtDrive% <> nFiltersDrive%)) THEN
  394.   '' Take care of REQUIRED STRINGS
  395.   ProgCost& = 0
  396.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  397.     ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (SEL_COST$)
  398.   ENDIF
  399.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  400.     cost& = cost& + VAL (ART_COST$)
  401.   ENDIF
  402.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + " Kb"
  403.   SetSymbolValue STR_REQ_PROG$, szTemp$
  404.   SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  405.   FiltersCost& = 0
  406.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$  THEN
  407.     FiltersCost& = VAL (FILTERS_COST$)
  408.   ENDIF
  409.   SetSymbolValue STR_REQ_CLIP_ART$, ""
  410.   SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + " Kb"
  411.   '' Take care of FREE strings
  412.   ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  413.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + " Kb"
  414.   SetSymbolValue STR_AVAIL_PROG$, szTemp$
  415.   SetSymbolValue STR_AVAIL_ART_DLG$   , szTemp$
  416.   SetSymbolValue STR_AVAIL_ART$, ""
  417.   FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  418.   SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + " Kb"
  419.   '' Hide the FILTERS status info
  420. ELSEIF ((nProgDrive% <> nArtDrive%) AND (nArtDrive% = nFiltersDrive%)) OR ((nProgDrive% <> nFiltersDrive%) AND (nArtDrive% = nFiltersDrive%)) OR ((nProgDrive% = nFiltersDrive%) AND (nArtDrive% <> nFiltersDrive%)) THEN
  421.   '' Take care of REQUIRED strings
  422.   ProgCost& = 0
  423.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  424.     ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$)
  425.   ENDIF
  426.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + " Kb"
  427.   SetSymbolValue STR_REQ_PROG$, szTemp$
  428.   ArtCost& = 0
  429.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  430.     ArtCost& = ArtCost& + VAL (ART_COST$)
  431.   ENDIF
  432.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  433.     ArtCost& = ArtCost& + VAL (FILTERS_COST$)
  434.   ENDIF
  435.   szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + " Kb"
  436.   SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  437.   SetSymbolValue STR_REQ_ART_DLG$,  szTemp$
  438.   SetSymbolValue STR_REQ_FILTERS$, ""
  439.   '' Handle the FREE strings
  440.   ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  441.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + " Kb"
  442.   SetSymbolValue STR_AVAIL_PROG$, szTemp$
  443.   ArtFree& = GetFreeSpaceForDrive(ARTDRIVE$)
  444.   szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + " Kb"
  445.   SetSymbolValue STR_AVAIL_ART$, szTemp$
  446.   SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  447.   SetSymbolValue STR_AVAIL_FILTERS$, ""
  448.   '' Show EVERYTHING
  449. ELSEIF (nProgDrive% <> nFiltersDrive%) AND (nProgDrive% <> nArtDrive%) THEN
  450.   '' Deal with REQUIRED strings
  451.   ProgCost& = 0
  452.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  453.     ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (SEL_COST$)
  454.   ENDIF
  455.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + " Kb"
  456.   SetSymbolValue STR_REQ_PROG$, szTemp$
  457.   ArtCost& = 0
  458.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  459.     ArtCost& = ArtCost& + VAL (ART_COST$)
  460.   ENDIF
  461.   szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + " Kb"
  462.   SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  463.   SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  464.   FiltersCost& = 0
  465.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  466.     FiltersCost& = FiltersCost& + VAL (FILTERS_COST$)
  467.   ENDIF
  468.   SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + " Kb"
  469.   '' Deal with FREE strings
  470.   ProgFree& = GetFreeSpaceForDrive(PROGDRIVE$)
  471.   szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + " Kb"
  472.   SetSymbolValue STR_AVAIL_PROG$, szTemp$
  473.   ArtFree& = GetFreeSpaceForDrive (ARTDRIVE$)
  474.   szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + " Kb"
  475.   SetSymbolValue STR_AVAIL_ART$, szTemp$
  476.   SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  477.   FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  478.   SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + " Kb"
  479. END IF
  480. '' The Lower status strings
  481. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  482.   SetSymbolValue STR_REQ_PROG2$, MakeKb (STR$ ((VAL (PROG_COST$) + VAL (FILTERS_COST$) + VAL (SEL_COST$)))) + " Kb"
  483. ELSE
  484.   SetSymbolValue STR_REQ_PROG2$, "0 Kb"
  485. ENDIF
  486. IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  487.   SetSymbolValue STR_REQ_CLIP_ART2$, MakeKb (STR$ (VAL (ART_COST$))) + " Kb"
  488. ELSE
  489.   SetSymbolValue STR_REQ_CLIP_ART2$, "0 Kb"
  490. ENDIF
  491. RestoreCursor CursorSave%
  492. END SUB
  493.  
  494. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  495. IF szDir$ = "" THEN
  496.   szTemp$ = szFile$
  497. ELSEIF szFile$ = "" THEN
  498.   szTemp$ = szDir$
  499. ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  500.   szTemp$ = szDir$ + szFile$
  501. ELSE
  502.   szTemp$ = szDir$ + "\" + szFile$
  503. END IF
  504. if szTemp$ <> "" then
  505.   if MID$( szTemp$, LEN( szTemp$ ), 1 ) = "\" then
  506.     szTemp$ = MID$( szTemp$, 1, LEN( szTemp$ ) - 1 )
  507.   endif
  508.   IF MID$(szTemp$, LEN(szTemp$), 1) = ":" THEN
  509.     szTemp$ = szTemp$ + "\"
  510.   ENDIF
  511. endif
  512. MakePath = szTemp$
  513. END FUNCTION
  514.  
  515. INSTALL:
  516. '' Create the necessary directories
  517. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  518.   CreateDir DEST$, cmoNone
  519.   CreateDir DEST_FILTERS$, cmoNone
  520. ENDIF
  521. IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  522.   CreateDir DEST_ART$, cmoNone
  523. ENDIF
  524. CopyFilesInCopyList
  525. '' PMGRPAPI.DLL DDE conflicts with MSSETUP'S.  Make sure the PMGRPAPI.DLL
  526. '' begins a conversation before or after MSSETUP's
  527.  
  528. '' DON'T delete PowerAlbum icon (Instant Calendar doesn't have PA)
  529. '' IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  530. ''   CursorSave% = ShowWaitCursor ()
  531. ''   DeleteOldIcons '' call PMGRPAPI.DLL to delete PowerAlbum 1.02 icon
  532. ''   RestoreCursor CursorSave%
  533. '' endif
  534. DoIniStuff
  535. DoIconStuff
  536. CheckWin30
  537. GetUserInfo
  538. GOTO QUIT
  539.  
  540. QUIT:
  541. ON ERROR GOTO ERRQUIT
  542. IF ERR = 0 THEN
  543.   dlg% = EXITSUCCESS
  544. ELSEIF ERR = STFQUIT THEN
  545.   dlg% = EXITQUIT
  546. ELSE
  547.   dlg% = EXITFAILURE
  548. END IF
  549.  
  550. QUITL1:
  551. sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  552. IF sz$ = "REACTIVATE" THEN
  553.   GOTO QUITL1
  554. END IF
  555. UIPop 1
  556. HelpQuit (FrameWindow%)
  557. i% = ReleaseCP
  558. END
  559.  
  560. ERRQUIT:
  561. i% = DoMsgBox("Setup sources were corrupted, you may have a faulty diskette.", _SETUP_TITLE$, MB_OK+B_TASKMODAL+MB_ICONHAND)
  562. HelpQuit (FrameWindow%)
  563. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  564. RemoveFile szDelFile$, cmoNone
  565. i% = ReleaseCP
  566. END
  567.  
  568. SUB GetFileCosts STATIC
  569. if fc% = 0 then
  570.   fc% = 1
  571.   CursorSave% = ShowWaitCursor ()
  572.   SrcDir$ = GetSymbolValue("STF_SRCDIR")
  573.   '' Get the cost of PROGRAM files
  574.   ClearCopyList
  575.   AddSectionFilesToCopyList "appFiles", SrcDir$, WinDir$
  576.   AddSectionFilesToCopyList "setup", SrcDir$, WinDir$
  577.   i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  578.   PROG_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  579.   '' Get the cost of the STANDARD EVENT LISTS
  580.   ClearCopyList
  581.   AddSectionFilesToCopyList "sel", SrcDir$, WinDir$
  582.   i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  583.   SEL_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  584.   '' Get the cost of FILTER files
  585.   ClearCopyList
  586.   AddSectionFilesToCopyList "fltFiles", SrcDir$, WinDir$
  587.   i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  588.   FILTERS_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  589.   '' Get the cost of ART files
  590.   ClearCopyList
  591.   AddSectionFilesToCopyList "artHolidays", SrcDir$, WinDir$
  592.   i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  593.   ART_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  594.   TotalSpcFree& = GetTotalSpcFree
  595.   RestoreCursor CursorSave%
  596. endif
  597. END SUB
  598.  
  599. FUNCTION MakeKb (szStr$) STATIC AS STRING
  600. i% = MakeKbString (szStr$)
  601. MakeKb = szStr$
  602. END FUNCTION
  603.  
  604. FUNCTION GetTotalSpcFree STATIC AS LONG
  605. GetTotalSpcFree = GetFreeSpaceForDrive (PROGDRIVE$) + GetFreeSpaceForDrive (ARTDRIVE$) + GetFreeSpaceForDrive (FILTERSDRIVE$)
  606. END FUNCTION
  607.  
  608. SUB OpenWaitMessage (AMsg%) STATIC
  609. OldCursor% = ShowWaitCursor()
  610. sz$ = UIStartDlg (CUIDLL$, AMsg%, "FModelessDlgProc", 0, "")
  611. END SUB
  612.  
  613. SUB CloseWaitMessage STATIC
  614. RestoreCursor OldCursor%
  615. UIPop 1
  616. END SUB
  617.  
  618. SUB CheckWin30 STATIC
  619. WinIni$ = MakePath(GetWindowsDir, "WIN.INI")
  620. szTrueTypeEnabled$ = GetIniKeyString (WinIni$, "TrueType", "TTEnable")
  621. if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) or (szTrueTypeEnabled$ = "0") then
  622. LOOP_UP:
  623.   sz$ = UIStartDlg(CUIDLL$, WARN_WIN30, "FRadioDlgProc", 0, "")
  624.   if sz$ = "REACTIVATE" or sz$ = "Option1" or sz$ = "Option2" or sz$ = "Option3" or sz$ = "Option4" or sz$ = "Option5" then
  625.     GOTO LOOP_UP
  626.   endif
  627.   UIPop 1
  628.   szResult$ = GetSymbolValue ("FontOption")
  629.   if szResult$ = "Option1" then
  630.     '' ATM
  631.     CreateIniKeyValue ini$, "Aliases", "Roman", "TimesNewRomanPS", cmoNone
  632.     CreateIniKeyValue ini$, "Aliases", "Modern", "Arial MT", cmoNone
  633.   elseif szResult$ = "Option2" then
  634.     '' FaceLift 2.0
  635.     CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 Rm BT", cmoNone
  636.     CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  637.   elseif szResult$ = "Option3" then
  638.     '' FaceLift 1.0
  639.     CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 BT", cmoNone
  640.     CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  641.   elseif szResult$ = "Option4" then
  642.     '' MoreFonts
  643.     MfIni$ = MakePath(GetWindowsDir, "MF.INI")
  644.     Pre$ = "A"
  645.     Changer$ = "A"
  646.     Post$ = "001AAA.WNW"
  647. MF_LOOP:
  648.     Font$ = GetIniKeyString (MfIni$, "Fonts", Pre$+Changer$+Post$)
  649.     if Font$ = "" then
  650.       goto OH_WELL
  651.     endif
  652.     if (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "Scal") > 0) then
  653.       CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN/Scal)", cmoNone
  654.       CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN/Scal)", cmoNone
  655.       goto END_MF
  656.     elseif (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "(WN)") > 0) then
  657.       CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  658.       CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  659.       goto END_MF
  660.     else
  661.       Changer$ = STR$ (VAL (Changer$) + 1)
  662.       goto MF_LOOP
  663.     endif
  664. OH_WELL:
  665.     CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  666.     CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  667. END_MF:
  668. else
  669. OTHER_FONT:
  670.   sz$ = UIStartDlg(CUIDLL$, WARN_OTHER_FM, "FInfo0DlgProc", 0, "")
  671.   IF sz$ = "REACTIVATE" THEN
  672.     GOTO OTHER_FONT
  673.   END IF
  674.   UIPop 1
  675. endif
  676. '' TrueType is enabled
  677. else
  678.   CreateIniKeyValue ini$, "Aliases", "Roman", "Times New Roman", cmoNone
  679.   CreateIniKeyValue ini$, "Aliases", "Modern", "Arial", cmoNone
  680. endif
  681. END SUB
  682.  
  683. SUB DoIniStuff STATIC
  684. OpenWaitMessage (INI_ENTRIES)
  685. WinIniFile$ = MakePath(GetWindowsDir, "WIN.INI")
  686. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  687.   '' WIN.INI entry for POWERUP.INI location
  688.   CreateIniKeyValue WinIniFile$, "PowerUp", "PowerUp", UCASE$ (ini$), cmoOverwrite
  689.   '' WIN.INI entries for CCW files (.CCE and .CCW)
  690.   CreateIniKeyValue WinIniFile$, "Extensions", "cce", UCASE$ (MakePath (DEST$, "ccwin.exe ^.cce")), cmoOverwrite
  691.   CreateIniKeyValue WinIniFile$, "Extensions", "ccw", UCASE$ (MakePath (DEST$, "ccwin.exe ^.ccw")), cmoOverwrite
  692.   
  693.   CreateIniKeyValue ini$, _GRAPH_INI$, "Path", UCASE$ (DEST_FILTERS$), cmoOverwrite
  694.   '' Handle Graphics Filters Entry         -- this will affect TextAppeal
  695.   '' create filter entries *unconditionally* for Instant Calendar 1.0
  696.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter1", "All graphics,*.BMP;*.CGM;*.DRW;*.EPI;*.PCX;*.TIF;*.WMF", cmoOverwrite
  697.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter2", "Bitmap (*.bmp),*.BMP,IRBMP,BITMAP", cmoOverwrite
  698.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter3", "CGM (*.cgm),*.CGM,IMCGM,METAFILE", cmoOverwrite
  699.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter4", "Micrografx (*.drw),*.DRW,IMDRW,METAFILE", cmoOverwrite
  700.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter5", "Text Effects (*.epi),*.EPI,IRTIF,BITMAP", cmoOverwrite
  701.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter6", "PC Paint (*.pcx),*.PCX,IRPCX,BITMAP", cmoOverwrite
  702.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter7", "TIFF (*.tif),*.TIF,IRTIF,BITMAP", cmoOverwrite
  703.   CreateIniKeyValue ini$, _GRAPH_INI$, "Filter8", "Windows Metafile (*.wmf),*.WMF,IMWMF,METAFILE", cmoOverwrite
  704.   
  705.   CreateIniKeyValue ini$, _CCW$, "AutoSave", "0", cmoNone
  706.   CreateIniKeyValue ini$, _CCW$, "AutoSaveSpan", "15", cmoNone
  707.   CreateIniKeyValue ini$, _CCW$, "AutoUpdate", "0", cmoNone
  708.   CreateIniKeyValue ini$, _CCW$, "ClipboardFormats", "2", cmoNone
  709.   CreateIniKeyValue ini$, _CCW$, "ColumnWidthTestString", "NNNNNN", cmoNone
  710.   CreateIniKeyValue ini$, _CCW$, "DefaultPriority", "*", cmoNone
  711.   CreateIniKeyValue ini$, _CCW$, "DefaultStyle", "Normal", cmoNone
  712.   CreateIniKeyValue ini$, _CCW$, "DefaultWorkspacePath", UCASE$ (WinDir$), cmoNone
  713.   CreateIniKeyValue ini$, _CCW$, "DisplayUpdateDlg", "Y", cmoNone
  714.   CreateIniKeyValue ini$, _CCW$, "EventListPath", UCASE$ (DEST$), cmoNone
  715.   CreateIniKeyValue ini$, _CCW$, "EventMarginX", "1", cmoNone
  716.   CreateIniKeyValue ini$, _CCW$, "EventMarginY", "1", cmoNone
  717.   CreateIniKeyValue ini$, _CCW$, "EXPORT1", """CCPlus DOS 4.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  718.   CreateIniKeyValue ini$, _CCW$, "EXPORT2", """CCPlus DOS 5.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  719.   CreateIniKeyValue ini$, _CCW$, "EXPORT3" ,"""Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  720.   CreateIniKeyValue ini$, _CCW$, "EXPORT4" ,"""DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  721.   CreateIniKeyValue ini$, _CCW$, "EXPORTNUM", "4", cmoOverwrite
  722.   CreateIniKeyValue ini$, _CCW$, "GraphicsPath", UCASE$ (DEST_ART$), cmoOverwrite
  723.   CreateIniKeyValue ini$, _CCW$, "HyphenZone", "30", cmoNone
  724.   CreateIniKeyValue ini$, _CCW$, "IMPORT1", """CCPlus DOS (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  725.   CreateIniKeyValue ini$, _CCW$, "IMPORT2", """Lotus 1-2-3 (.wks,.wk1)"" CCNV-WKS.DLL *.wks;*.wk1", cmoOverwrite
  726.   CreateIniKeyValue ini$, _CCW$, "IMPORT3", """dBase III, IV (.dbf)"" CCNV-DBF.DLL *.dbf", cmoOverwrite
  727.   CreateIniKeyValue ini$, _CCW$, "IMPORT4", """Columnar ASCII (*.*)"" CCNV-COL.DLL *.*", cmoOverwrite
  728.   CreateIniKeyValue ini$, _CCW$, "IMPORT5", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  729.   CreateIniKeyValue ini$, _CCW$, "IMPORT6", """DOS Columnar ASCII (*.*) "" CCNV-COL.DLL *.*", cmoOverwrite
  730.   CreateIniKeyValue ini$, _CCW$, "IMPORT7", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  731.   CreateIniKeyValue ini$, _CCW$, "IMPORTNUM", "7", cmoOverwrite
  732.   CreateIniKeyValue ini$, _CCW$, "LastYear", "2000", cmoNone
  733.   CreateIniKeyValue ini$, _CCW$, "MarkListsWithNotes", "1", cmoNone
  734.   CreateIniKeyValue ini$, _CCW$, "MinWordLength", "7", cmoNone
  735.   CreateIniKeyValue ini$, _CCW$, "PrintPreview", "0", cmoNone
  736.   CreateIniKeyValue ini$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite
  737.   CreateIniKeyValue ini$, _CCW$, "ScreenRes", "0", cmoNone
  738.   CreateIniKeyValue ini$, _CCW$, "SecondLineIndentPercent", "8", cmoNone
  739.   CreateIniKeyValue ini$, _CCW$, "StylesPath", UCASE$ (WinDir$), cmoNone
  740.   CreateIniKeyValue ini$, _CCW$, "UpdateSpan", "15", cmoNone
  741.   CreateIniKeyValue ini$, _CCW$, "WorkspacePath", UCASE$ (DEST$), cmoNone
  742.   
  743.   '' CCW *creates* the critical Stock0 entry if none, so check for Stock1
  744.   if GetIniKeyString (ini$, _CPS$, "Stock1") = "" then
  745.     CreateIniKeyValue ini$, _CPS$, "Stock0", "Letter - 8.5 x 11,C,P,0.00,0.00,11.00,8.50,1, 1,11.00,8.50,0.75,0.50,0.75,0.50,I", cmoOverwrite
  746.     CreateIniKeyValue ini$, _CPS$, "Stock1", "Legal - 8.5 x 14,C,P,0.00,0.00,14.00,8.50,1, 1,14.00,8.50,0.50,0.50,0.75,0.50,I", cmoOverwrite
  747.     CreateIniKeyValue ini$, _CPS$, "Stock2", "Wide - 14 x 11,T,P,0.00,0.00,11.00,14.00,1, 1,11.00,14.00,0.50,0.50,0.75,0.50,I", cmoOverwrite
  748.     CreateIniKeyValue ini$, _CPS$, "Stock3", "Pocket - 3.75 x 6.75,C,P,0.00,0.00,6.75,3.75,1, 1,6.75,3.75,0.50,0.35,0.63,0.35,I", cmoOverwrite
  749.     CreateIniKeyValue ini$, _CPS$, "Stock4", "Organizer - 5.5 x 8.5,C,P,0.00,0.00,8.50,5.50,1, 1,8.50,5.50,0.50,0.35,0.63,0.35,I", cmoOverwrite
  750.     CreateIniKeyValue ini$, _CPS$, "Stock5", "Two/page - 8.5 x 5.5,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.63,0.35,0.35,I", cmoOverwrite
  751.     CreateIniKeyValue ini$, _CPS$, "Stock6", "Three/page - 6.75 x 3.66,C,P,0.00,0.00,3.66,6.75,1, 3,11.00,8.50,0.41,0.35,0.35,0.35,I", cmoOverwrite
  752.     CreateIniKeyValue ini$, _CPS$, "Stock7", "Four/page - 4.25 x 5.5,C,P,0.00,0.00,5.50,4.25,2, 2,11.00,8.50,0.41,0.35,0.41,0.35,I", cmoOverwrite
  753.     CreateIniKeyValue ini$, _CPS$, "Stock8", "InstaBook - 2/page,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.63,0.35,0.35,I", cmoOverwrite
  754.     CreateIniKeyValue ini$, _CPS$, "Stock9", "InstaBook - 4/page,C,P,0.00,0.00,5.50,4.25,2, 2,11.00,8.50,0.35,0.50,0.35,0.35,I", cmoOverwrite
  755.     CreateIniKeyValue ini$, _CPS$, "Stock10", "InstaBook - 12/page,C,P,0.00,0.00,3.66,2.12,4, 3,11.00,8.50,0.35,0.40,0.35,0.35,I", cmoOverwrite
  756.     CreateIniKeyValue ini$, _CPS$, "Stock11", "A3 - 29.7 x 42 cm,C,P,0.00,0.00,42.00,29.70,1, 1,42.00,29.70,1.20,1.20,1.60,1.20,M", cmoOverwrite
  757.     CreateIniKeyValue ini$, _CPS$, "Stock12", "A4 - 21 x 29.7 cm,C,P,0.00,0.00,29.70,21.00,1, 1,29.70,21.00,1.20,1.20,1.60,1.20,M", cmoOverwrite
  758.     CreateIniKeyValue ini$, _CPS$, "Stock13", "A5 - 14.8 x 21 cm,C,P,0.00,0.00,21.00,14.80,1, 1,21.00,14.80,1.20,1.20,1.60,1.20,M", cmoOverwrite
  759.     CreateIniKeyValue ini$, _CPS$, "Stock14", "A4 InstaBook - 2/page,C,P,0.00,0.00,14.85,21.00,1, 2,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite
  760.     CreateIniKeyValue ini$, _CPS$, "Stock15", "A4 InstaBook - 4/page,C,P,0.00,0.00,14.85,10.48,2, 2,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite
  761.     CreateIniKeyValue ini$, _CPS$, "Stock16", "A4 InstaBook - 12/page,C,P,0.00,0.00,9.90,5.23,4, 3,29.70,21.00,0.75,1.00,0.75,0.75,M", cmoOverwrite
  762.     CreateIniKeyValue ini$, _CPS$, "Stock17", "Power Up M0030 - 8.5 x 5.5,C,P,0.00,0.00,5.50,8.50,1, 2,11.00,8.50,0.35,0.35,0.35,0.35,I", cmoOverwrite
  763.     CreateIniKeyValue ini$, _CPS$, "Stock18", "Power Up M0040 - 2.5 x 4.5,C,P,0.00,0.00,4.50,2.50,3, 2,11.00,8.50,0.35,0.35,0.35,0.35,I", cmoOverwrite
  764.     CreateIniKeyValue ini$, _CPS$, "Stock19", "Power Up M0401 - 3.75 x 6.75,T,P,0.88,0.00,6.75,3.75,1, 1,8.50,3.75,0.50,0.35,0.56,0.35,I", cmoOverwrite
  765.     CreateIniKeyValue ini$, _CPS$, "Stock20", "Power Up M0402 - 5.5 x 8.5,T,P,0.00,0.00,8.50,5.50,1, 1,8.50,5.50,0.50,0.35,0.66,0.35,I", cmoOverwrite
  766.     CreateIniKeyValue ini$, _CPS$, "Stock21", "Power Up M0701 - 3.75 x 6.75,C,P,0.00,0.00,6.75,3.75,2, 1,11.00,8.50,0.50,0.35,0.56,0.35,I", cmoOverwrite
  767.     CreateIniKeyValue ini$, _CPS$, "Stock22", "Power Up M0702 - 5.5 x 8.5,C,P,0.00,0.00,8.50,5.50,1, 1,11.00,8.50,0.50,0.35,0.66,0.35,I", cmoOverwrite
  768.     CreateIniKeyValue ini$, _CPS$, "Stock23", "DiscoverSoft - 5.5 x 8.5,C,P,0.00,1.50,8.50,5.50,1, 1,11.00,8.50,0.50,0.35,0.63,0.35,I", cmoOverwrite
  769.   endif
  770.   
  771.   ''CreateIniKeyValue ini$, _CCPO$, "Binding", "side", cmoNone
  772.   ''CreateIniKeyValue ini$, _CCPO$, "BlanksAfter", "0", cmoNone
  773.   ''CreateIniKeyValue ini$, _CCPO$, "BlanksBefore", "0", cmoNone
  774.   ''CreateIniKeyValue ini$, _CCPO$, "ColumnOrder", _NO$, cmoNone
  775.   CreateIniKeyValue ini$, _CCPO$, "Copies", "1", cmoNone
  776.   ''CreateIniKeyValue ini$, _CCPO$, "Duplex", "Ordered", cmoNone
  777.   CreateIniKeyValue ini$, _CCPO$, "FudgeX", "0", cmoNone
  778.   CreateIniKeyValue ini$, _CCPO$, "FudgeY", "0", cmoNone
  779.   ''CreateIniKeyValue ini$, _CCPO$, "InputTray", "up", cmoNone
  780.   ''CreateIniKeyValue ini$, _CCPO$, "LandscapeRotate", "left", cmoNone
  781.   ''CreateIniKeyValue ini$, _CCPO$, "ManualFeed", "side", cmoNone
  782.   ''CreateIniKeyValue ini$, _CCPO$, "OutputTray", "down", cmoNone
  783.   ''CreateIniKeyValue ini$, _CCPO$, "PaperHead", "in", cmoNone
  784.   CreateIniKeyValue ini$, _CCPO$, "PrintBW", _YES$, cmoNone
  785.   ''CreateIniKeyValue ini$, _CCPO$, "Type", "simplex", cmoNone
  786.   CreateIniKeyValue ini$, _CCPO$, "Units", "1", cmoNone
  787.  
  788.   CreateIniKeyValue ini$, "SHOWPICT", "Path", UCASE$ (DEST$), cmoOverwrite
  789.   CreateIniKeyValue ini$, "ART", "Path", UCASE$ (DEST_ART$), cmoOverwrite
  790. ENDIF
  791. CloseWaitMessage '' "Creating INI entries..."
  792. END SUB
  793.  
  794. SUB DoIconStuff STATIC
  795. _POWERUP$ = "Power Up!"
  796. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  797.   CreateProgmanGroup _POWERUP$, "", cmoNone
  798.   ShowProgmanGroup   _POWERUP$, 1, cmoNone
  799.   CreateProgmanItem  _POWERUP$, "Instant Calendar", MakePath (DEST$,"ccwin.exe"), "", cmoOverwrite
  800.   CreateProgmanItem  _POWERUP$, "Read Me", MakePath (DEST$,"readme.txt"), "", cmoOverwrite
  801. ENDIF
  802. END SUB
  803.  
  804. SUB GetUserInfo STATIC
  805. '' Get the PowerUp.ini entries if present
  806. szUserName$ = GetIniKeyString (ini$, "USER INFO", "UserName")
  807. szCompany$ = GetIniKeyString (ini$, "USER INFO", "CompanyName")
  808. if (szUserName$ <> "") and (szCompany$ <> "") then
  809.   goto END_INFO
  810. endif
  811. if (szUserName$ <> "") and (szCompany$ <> "") then
  812.   CreateIniKeyValue ini$, "USER INFO", "UserName", szUserName$, cmoOverwrite
  813.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", szCompany$, cmoOverwrite
  814.   goto END_INFO
  815. endif
  816. SetSymbolValue NAME_STR$, szUserName$
  817. SetSymbolValue ORG_STR$, szCompany$
  818. GET_USER_INFO_LOOP:
  819. sz$ = UIStartDlg (CUIDLL$, GETINFO, "FNameOrgDlgProc", 0, "")
  820. IF sz$ = "REACTIVATE" THEN
  821.   GOTO GET_USER_INFO_LOOP
  822. ELSEIF sz$ = "OK" THEN
  823.   CreateIniKeyValue ini$, "USER INFO", "UserName", GetSymbolValue (NAME_STR$), cmoOverwrite
  824.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", GetSymbolValue (ORG_STR$), cmoOverwrite
  825. ENDIF
  826. UIPop 1
  827. END_INFO:
  828. END SUB
  829. '$INCLUDE 'init.inc'
  830.